package org.xxpay.core.entity;

import java.io.Serializable;
import java.util.Date;

public class StatisticsPayPassage implements Serializable {
    /**
     * 支付通道ID
     *
     * @mbg.generated
     */
    private Integer payPassageId;

    /**
     * 支付通道子账号ID
     *
     * @mbg.generated
     */
    private Integer payPassageAccountId;

    /**
     * 统计日期
     *
     * @mbg.generated
     */
    private Date statisticsDate;

    /**
     * 收款订单总数
     *
     * @mbg.generated
     */
    private Integer payTotalCount;

    /**
     * 收款成功订单数
     *
     * @mbg.generated
     */
    private Integer paySuccessCount;

    /**
     * 收款总金额
     *
     * @mbg.generated
     */
    private Long payTotalAmount;

    /**
     * 收款成功金额
     *
     * @mbg.generated
     */
    private Long paySuccessAmount;

    /**
     * 总通道成本，单位分
     *
     * @mbg.generated
     */
    private Long totalChannelCost;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 更新时间
     *
     * @mbg.generated
     */
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    public Integer getPayPassageId() {
        return payPassageId;
    }

    public void setPayPassageId(Integer payPassageId) {
        this.payPassageId = payPassageId;
    }

    public Integer getPayPassageAccountId() {
        return payPassageAccountId;
    }

    public void setPayPassageAccountId(Integer payPassageAccountId) {
        this.payPassageAccountId = payPassageAccountId;
    }

    public Date getStatisticsDate() {
        return statisticsDate;
    }

    public void setStatisticsDate(Date statisticsDate) {
        this.statisticsDate = statisticsDate;
    }

    public Integer getPayTotalCount() {
        return payTotalCount;
    }

    public void setPayTotalCount(Integer payTotalCount) {
        this.payTotalCount = payTotalCount;
    }

    public Integer getPaySuccessCount() {
        return paySuccessCount;
    }

    public void setPaySuccessCount(Integer paySuccessCount) {
        this.paySuccessCount = paySuccessCount;
    }

    public Long getPayTotalAmount() {
        return payTotalAmount;
    }

    public void setPayTotalAmount(Long payTotalAmount) {
        this.payTotalAmount = payTotalAmount;
    }

    public Long getPaySuccessAmount() {
        return paySuccessAmount;
    }

    public void setPaySuccessAmount(Long paySuccessAmount) {
        this.paySuccessAmount = paySuccessAmount;
    }

    public Long getTotalChannelCost() {
        return totalChannelCost;
    }

    public void setTotalChannelCost(Long totalChannelCost) {
        this.totalChannelCost = totalChannelCost;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", payPassageId=").append(payPassageId);
        sb.append(", payPassageAccountId=").append(payPassageAccountId);
        sb.append(", statisticsDate=").append(statisticsDate);
        sb.append(", payTotalCount=").append(payTotalCount);
        sb.append(", paySuccessCount=").append(paySuccessCount);
        sb.append(", payTotalAmount=").append(payTotalAmount);
        sb.append(", paySuccessAmount=").append(paySuccessAmount);
        sb.append(", totalChannelCost=").append(totalChannelCost);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StatisticsPayPassage other = (StatisticsPayPassage) that;
        return (this.getPayPassageId() == null ? other.getPayPassageId() == null : this.getPayPassageId().equals(other.getPayPassageId()))
            && (this.getPayPassageAccountId() == null ? other.getPayPassageAccountId() == null : this.getPayPassageAccountId().equals(other.getPayPassageAccountId()))
            && (this.getStatisticsDate() == null ? other.getStatisticsDate() == null : this.getStatisticsDate().equals(other.getStatisticsDate()))
            && (this.getPayTotalCount() == null ? other.getPayTotalCount() == null : this.getPayTotalCount().equals(other.getPayTotalCount()))
            && (this.getPaySuccessCount() == null ? other.getPaySuccessCount() == null : this.getPaySuccessCount().equals(other.getPaySuccessCount()))
            && (this.getPayTotalAmount() == null ? other.getPayTotalAmount() == null : this.getPayTotalAmount().equals(other.getPayTotalAmount()))
            && (this.getPaySuccessAmount() == null ? other.getPaySuccessAmount() == null : this.getPaySuccessAmount().equals(other.getPaySuccessAmount()))
            && (this.getTotalChannelCost() == null ? other.getTotalChannelCost() == null : this.getTotalChannelCost().equals(other.getTotalChannelCost()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getPayPassageId() == null) ? 0 : getPayPassageId().hashCode());
        result = prime * result + ((getPayPassageAccountId() == null) ? 0 : getPayPassageAccountId().hashCode());
        result = prime * result + ((getStatisticsDate() == null) ? 0 : getStatisticsDate().hashCode());
        result = prime * result + ((getPayTotalCount() == null) ? 0 : getPayTotalCount().hashCode());
        result = prime * result + ((getPaySuccessCount() == null) ? 0 : getPaySuccessCount().hashCode());
        result = prime * result + ((getPayTotalAmount() == null) ? 0 : getPayTotalAmount().hashCode());
        result = prime * result + ((getPaySuccessAmount() == null) ? 0 : getPaySuccessAmount().hashCode());
        result = prime * result + ((getTotalChannelCost() == null) ? 0 : getTotalChannelCost().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }
}